1. Field of the Invention
The present invention relates to a method for controlling fuzzy controllers. More particularly, the present invention relates to a method for controlling an operation of a fuzzy controller for evaluating a set of linguistic rules to efficiently produce an output signal related to input signals of the controller.
2. Description of the Related Art
In recent years, fuzzy controllers have gained increasing significance. See, for example, the article by C. L. McCullough, entitled "An Anticipatory Fuzzy Logic Controller Utilizing Neutral Net Prediction" in the periodical "Simulation" No. 58, May 1992, pages 327-332, and the article by H. P. Preuss entitled "Fuzzy control-heuristische Ragelung mittels unscharfer Logic" (Fuzzy Control-Heuristic Control By Means of Fuzzy Logic), Automatisierungstechnische Praxis (Practical Automatization) 34, 1992, No. 4, pages 176-184 (Part 1) and No. 5, pages 239-246 (Part II).
Conventional fuzzy controllers generally are capable of receiving n input signals corresponding to n input values and providing an output signal corresponding to an output value Z. The actions of fuzzy controllers are controlled by a set of linguistic rules (R.sub.1, . . . , R.sub.N), where each rule has as its premise either a linguistic statement about an input value or an AND linkage of several linguistic statements about input values that differ in pairs. The conclusion of a rule is a linguistic statement about the output values of the controller. Each linguistic statement is described by a fuzzy set characterized by a corresponding membership function.
Most conventional fuzzy controllers described in the literature operate according to the followlng principle:
The current values of all input values are determined and made available to the fuzzy controller as signals using well-known techniques.
The N rules of a set of rules are applied in parallel on the current values of the n input signals. The application of each rule furnishes a fuzzy set that is characterized by a membership function. The N fuzzy sets are then combined into a single set.
The determination of the i.sup.th fuzzy set is based on the membership function which characterizes the conclusion of the i.sup.th rule R.sub.i and the current validity of the premise of R.sub.i. This current validity is calculated from the degree of membership of the current input values (to which the premise refers) to the membership functions characterizing the linguistic statements of the premise. If the premise is composed a single linguistic statement, its current validity is equal to the corresponding membership value. If the premise is composed of a plurality of linguistic statements, its current value is determined by applying a T-norm, or triangular norm, on the respective membership values. The T-norm most frequently mentioned in the literature is the minimum. T-norms are described, for example in an article C. C. Lee, entitled "Fuzzy Logic in Control Sytems: Fuzzy Logic Controller", published in the IEEE Transactions on Systems, Man, and Cybernetics, 20, 1990, pages 404-435.
In order to combine N fuzzy sets into a single set, a T-conorm is employed for the N characteristic association functions. The customary T-conorm is a point-by-point maximum formation. See C. C. Lee above.
A real number z.sub.t is formed by defuzzification of the fuzzy set determined in the preceding step and is employed as the current value of the output value Z to form an output signal. A conventional defuzzification method involves a determination of the x value of the center of gravity.
In many applications, the association functions characterizing linguistic statements about the characteristics of a controller are trapezoidal. See, for example, the article by Preuss mentioned above.
A drawback of a conventional fuzzy controller is that in each operation cycle many calculation operations on membership functions are required. This is a disadvantage particularly with the requirement for high speed in real time operations, for example. To avoid a need for high performance hardware in such a case, several fuzzy controllers have been introduced which operate in a first phase to defuzzify the membership functions for the conclusion of each respective rule, and in a second phase, operate to determine from each rule a weighted recommendation to give the output signal the predetermined defuzzified value of the membership function of the linguistic statement of its conclusion, which are then combined to produce an output signal. Mentioned as an example, in addition to the above cited literature, is the contribution by M. Mizumoto, entitled "Realization of PID Controls By Fuzzy Control Methods" in Proceedings of the IEEE Intern. Conf. on Fuzzy Systems, 1992, pages 709-715.
FIG. 1 of the drawings shows a mode of operation of a conventional fuzzy controller for the case of two input values X and Y. Let it be assumed that .mu..sub.i and v.sub.i are the membership functions for the linguistic statement about X and Y, respectively, in the premise of rule R.sub.i, and .lambda..sub.i is the membership function for the linguistic statement in the conclusion of R.sub.i. If only one linguistic statement about x occurs in the premise R.sub.i but none about Y, v.sub.i (y)=1 is formally set for all y. If only a statement appears about Y, .mu..sub.i (x)=1 is set for all x. Let it be assumed that x.sub.t and y.sub.t are signals representing the current values of input values X and Y. The conventional controller operates as follows:
In a first phase, the membership function .lambda..sub.i for i=1, . . . , N is defuzzified and thus a signal representing a real number Z.sub.i is obtained for recommended action in rule R.sub.i (Step I).
In a second phase, for every sampling time t, the degree of membership of x.sub.t to .mu..sub.i and the degree of membership of y.sub.t to v.sub.i where i=1, . . . , N, is determined and thus the values a.sub.i1 (t) and a.sub.i2 (t) are obtained (Step II). Then, for i=1, . . . , N, the values a.sub.i1 (t) and a.sub.i2 (t) are combined into the current weighting factor .omega..sub.i (t) of rule R.sub.i, with the customary product or another T-norm being employed (Step III).
For i=1, . . . , N, weighting factor .omega..sub.i (t) is multiplied by the precise conclusion Z.sub.i of rule R.sub.i (Step IV). Then the thus weighted N recommended actions are added (Step V). For normalization, the sum of all weighting factors is formed (Step VI). A signal representing the current value z.sub.t of the value produced by the fuzzy controller, is determined by dividing the value formed in Step V by the value determined in Step VI (Step VII).
One advantage of this conventional manner of proceeding compared to the classical fuzzy control is that the work of the first phase need not take place during the running time of the controller but can be performed in advance when the controller is manufactured or programmed. For example, the defuzzification values of the membership functions for the conclusions of the rules can be stored in a memory, such as a ROM, and accessed by the controller at an appropriate time. Consequently, during runtime of the fuzzy controller, only operations of the second phase need be performed. Except for Step II, this exclusively involves calculation operations with real numbers, not with membership functions.
The drawbacks of the procedure shown in FIG. 1 are:
Since the sum of the weighting factors .omega..sub.1 (t), . . . , .omega..sub.N (t) is generally not equal to 1, it is necessary to perform a summation (Step VI) and a division (Step VII) during the controller runtime for normalizing the weighting factors.
For the case that the sum of the weighting factors and thus the denominator of the equation shown in Step VII of FIG. 1 equals zero, a special treatment must be provided to prevent a division by zero.
The procedure does not define important parameters of the controller concept, for example the T-norm or the configuration of the association functions of the extent of the control set.